Eecient Support for Multiple Concurrency Paradigms in Modern Programming Languages
نویسندگان
چکیده
We describe an approach to implementing a wide-range of concurrency paradigms in modern programming languages. The focus of our discussion is sting, a dialect of Scheme, that supports lightweight threads of control and virtual processors as rst-class objects. Given the signiicant degree to which the behavior of these objects may be customized, we can easily express a variety of concurrency paradigms and linguistic structures within a common framework without loss of eeciency. Sting is thus intended to be used as an operating system substrate for modern parallel programming languages. Unlike parallel systems that rely on low-level operating system services for managing concurrency, sting implements concurrency management entirely in terms of Scheme objects and procedures. It, therefore, permits users to optimize the runtime behavior of their applications without requiring knowledge of the underlying runtime system. This paper concentrates on (a) the implications of the design for building asynchronous con-currency structures, (b) the implementation of a thread controller using continuations as its basic control mechanism, (c) the organization of large-scale concurrent computations, and (d) robust programming environments for symbolic computing.
منابع مشابه
A proposal to merge Multiple
We deene a new language that naturally satisses the requirements of concurrency support, modularity, and declarativity. Although some classes of existing languages already cover a subset of this requirements , there is no example of a programming language entirely fullll-ing them. We propose to merge three programming paradigms, Multiple Tu-ple Spaces, Object Orientation, and Logic Programming,...
متن کاملA Study of Techniques for Introducing Concurrency into List Processing Library Routines in Modern Concurrent Functional Programming Languages
Erlang is a modern functional programming language with additional features that support explicit concurrency through lightweight processes and message passing. Erlang’s clean semantics and lack of side effects make it possible to develop high quality software that can easily take advantage of the availability of multiple processors. Like most functional programming languages, Erlang provides a...
متن کاملCoordination models and languages for parallel programming
Most conventional approaches to parallel programming are based on some basic kinds of synchronized mechanisms and related models of concurrency control: shared variables, message passing, and remote procedure calls. Whereas these paradigms suffice to program parallel applications, they hardly provide abstractions adequate for programmers or language designers. Hence, parallel programming using ...
متن کاملThe Brisk Machine : A Simpli ed STG
This work presents the Brisk Machine, a machine model for the implementation of functional languages. It is especially designed to be exible and dynamic, so that it can support a uniform and eecient implementation of multiple paradigms such as computational mobility, dynamic loading and linking, and logic programming. The Brisk Machine is based on the STG Machine, though its model is simpliied ...
متن کاملPerformance Evaluation of Programming Paradigms and Languages Using Multithreading on Digital Image Processing
We present a comparative performance evaluation of different programming paradigms and languages using multithreaded programming. We compare the procedural and object-oriented (OO) paradigms, as well as the C++ and Java languages, regarding both performance and programmability. The comparison is made upon sequential and parallel image convolution implementations based on those paradigms and lan...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2007